This specification relates to communicating information, for example, communicating information that supplements other information sent over a block erasure channel.
Various approaches have been used to address the unreliability of underlying network infrastructure when distributing information over a network. For example, when sending information through the Internet using a protocol that is not guaranteed to be always reliable, such as the User Datagram Protocol (UDP), Digital Fountain Codes have been used to break up a stream into a number of sub-streams such that the original stream can be reconstructed from a minimum number of sub-streams. Thus, when a sending device is using a communications channel that can sometimes drop entire blocks of data, the receiving device can still reconstruct the original information even when some of the sub-streams are unavailable at the receiving device.
In addition, various approaches have been used to address server load concerns for media distribution over a network, where the traditional approach is to provide a large central server farm that supplies a separate stream to each client computer. For example, BitTorrent, Inc. of San Francisco, Calif., provides software that breaks up files to be transferred and delivers the files piece by piece from one or many different sources in a peer-to-peer (P2P) network, where a file to be downloaded from a server to a client may actually come from another client (a “peer”) that already downloaded that file. Other P2P software includes Kazaa Software, available from Sharman Networks Ltd. of Port Vila, Vanuatu, and Octoshape Software, available from Octoshape Apps of Copenhagen, Denmark.
Furthermore, in the context of digital media transmission, it can be desirable to send supplemental information along with the primary information being transmitted. For example, a media identification number can be transmitted along with video data, such as by using digital watermarking technology or other form of steganography, where the number (or a piece thereof) is embedded in each video frame. Moreover, some information can be transmitted over and over again by sending it out in parts, one part at a time, and then looping back to the first part from time to time. This type of transmission is sometimes called a digital carousel.